-
Notifications
You must be signed in to change notification settings - Fork 8k
docs: Describe the different shield interfaces #95623
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
See https://builds.zephyrproject.io/zephyr/pr/95623/docs/hardware/porting/shields.html for the resulting HTML |
@kartben Please take a look once you find time |
Hey, give it a rebase, CI had a bad week. |
Rebased on main to fix CI issues. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Late catch.
0c8a5e6
to
cfc484a
Compare
Rebasing on main to try to solve the CI issues |
@erwango Please take a look again |
Add descriptions of the most popular shield interfaces. I moved the section on shield activation to the top of the page. Signed-off-by: Jonas Berg <[email protected]>
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds comprehensive documentation for different shield interfaces/form factors supported by Zephyr, including Arduino variants, mikroBUS, Pico, Feather, and others. The documentation has been restructured by moving the shield activation section to the top for better organization.
- Added detailed descriptions of 10+ popular shield interfaces with relevant devicetree node labels
- Moved shield activation section from the bottom to the top of the document
- Added visual examples and technical references for each shield type
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Stemma QT / Quiic / zephyr_i2c | ||
------------------------------ | ||
|
||
These are four-pin I2C connectors. Sparkfun calls these connectors "Qwiic", and Adafruit |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Corrected capitalization of 'SparkFun' brand name.
These are four-pin I2C connectors. Sparkfun calls these connectors "Qwiic", and Adafruit | |
These are four-pin I2C connectors. SparkFun calls these connectors "Qwiic", and Adafruit |
Copilot uses AI. Check for mistakes.
Camera and display connectors | ||
----------------------------- | ||
|
||
These describes connections to cameras and displays (strictly speaking not shields). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Grammar error: 'These describes' should be 'These describe'.
These describes connections to cameras and displays (strictly speaking not shields). | |
These describe connections to cameras and displays (strictly speaking not shields). |
Copilot uses AI. Check for mistakes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for doing this! And sorry for the late review :/
|
||
Relevant devicetree node labels: | ||
|
||
- ``zephyr_i2c`` Introduced in Zephyr 4.2 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- ``zephyr_i2c`` Introduced in Zephyr 4.2 | |
- ``zephyr_i2c`` |
See :dtcompatible:`microbit,edge-connector` for GPIO pin definitions and | ||
links to technical requirements. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So there isn't really any "interface" then, if microbit only calls for a GPIO nexus to be defined
I think it might make sense to better explain at the beginning of the overall section how exposing a shield interface+connector (board side) or using it (shield side) involves both setting/using nexuses for the actual connector, and setting/using aliases for the "interfaces"
Right now what you have is a (great!) reference snapshot but doesn't really explain the why, IMO, nor does it explain what the labels are really for
Zephyr supports a number of shield interfaces, for example the well-known Arduino | ||
form factor. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See earlier comment - this doesn't really explain what they are, only that they exist :)
Add descriptions of the most popular shield interfaces.
I moved the section on shield activation to the top of the page.